package com.project.service;

import com.project.bean.CutPageBean;
import com.project.bean.ProductBean;

import java.time.LocalDate;
import java.util.List;

public interface IProductService {
//1、完成商品的添加
//2、按id删除商品。
//            3、按id修改价格
//4、按id查询商品


    /**
     * 添加商品
     * @param product 商品对象
     * @return  商品的id
     */
    int add(ProductBean product);

    /**
     * 按id删除商品
     * @param id 商品id
     */
    void del(int id);

    /**
     * 按id修改商品价格
     * @param id 商品id
     * @param price 商品价格
     */
    void update(int id,int price);

    /**
     * 通过id查询商品
     * @param id 商品id
     * @return 商品对象
     */
    ProductBean findById(int id);

//5、按商品名、价格范围 动态条件分页查询商品
//6、按厂家、生产日期时间段，动态条件分页查询商品

    /**
     * 动态分页查询
     * @param factory 生产厂商
     * @param price  价格范围
     * @param pageNO 页数
     * @return 分页的实体对象
     */
    CutPageBean<ProductBean> findByItem(String factory,int price,int pageNO);

    /**
     * 动态通过厂家和生产日期查询商品
     * @param factory 厂家
     * @param start 开始时间
     * @param end 结束时间
     * @param pageNO 查询页码
     * @return 查询结果对象
     */
    CutPageBean<ProductBean> cutByDate(String factory, LocalDate start,LocalDate end,int pageNO);

}
